// RAP [rh] quick access disabled ///******************************************************************************* // * Copyright (c) 2006, 2010 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // * ARTAL Technologies <simon.chemouil@artal.fr> - Bug 293044 added keybindings display // *******************************************************************************/ // //package org.eclipse.ui.internal.quickaccess; // //import org.eclipse.core.commands.Command; //import org.eclipse.core.commands.ParameterizedCommand; //import org.eclipse.core.commands.common.NotDefinedException; //import org.eclipse.jface.bindings.TriggerSequence; //import org.eclipse.jface.resource.ImageDescriptor; //import org.eclipse.osgi.util.NLS; //import org.eclipse.ui.IWorkbenchWindow; //import org.eclipse.ui.PlatformUI; //import org.eclipse.ui.handlers.IHandlerService; //import org.eclipse.ui.internal.keys.BindingService; //import org.eclipse.ui.internal.menus.CommandMessages; //import org.eclipse.ui.internal.misc.StatusUtil; //import org.eclipse.ui.keys.IBindingService; //import org.eclipse.ui.statushandlers.StatusManager; // ///** // * @since 3.3 // * // */ //public class CommandElement extends QuickAccessElement { // // private ParameterizedCommand command; // // private String id; // // /* package */CommandElement(ParameterizedCommand command, String id, // CommandProvider commandProvider) { // super(commandProvider); // this.id = id; // this.command = command; // } // // public void execute() { // Object o = getProvider(); // if (o instanceof CommandProvider) { // CommandProvider provider = (CommandProvider) o; // if (provider.getHandlerService()!=null) { // try { // provider.getHandlerService().executeCommandInContext( // command, null, provider.getContextSnapshot()); // } catch (Exception ex) { // StatusUtil.handleStatus(ex, StatusManager.SHOW // | StatusManager.LOG); // } // return; // } // } // // // let's try the old fashioned way // IWorkbenchWindow window = PlatformUI.getWorkbench() // .getActiveWorkbenchWindow(); // if (window != null) { // IHandlerService handlerService = (IHandlerService) window // .getWorkbench().getService(IHandlerService.class); // try { // handlerService.executeCommand(command, null); // } catch (Exception ex) { // StatusUtil.handleStatus(ex, StatusManager.SHOW // | StatusManager.LOG); // } // } // } // // public String getId() { // return id; // } // // public ImageDescriptor getImageDescriptor() { // return null; // } // // /** // * Returns a formatted string describes this command. // * // * @return a description of the command of this element // * @since 3.6 // */ // public String getCommand() { // final StringBuffer label = new StringBuffer(); // // try { // Command nestedCommand = command.getCommand(); // label.append(command.getName()); // if (nestedCommand != null && nestedCommand.getDescription() != null // && nestedCommand.getDescription().length() != 0) { // label.append(separator).append(nestedCommand.getDescription()); // } // } catch (NotDefinedException e) { // label.append(command.toString()); // } // // return label.toString(); // } // // public String getLabel() { // String command = getCommand(); // String binding = getBinding(); // if (binding != null) { // return NLS.bind(CommandMessages.Tooltip_Accelerator, command, binding); // } // return command; // } // // /** // * Returns a formatted string that can be used to invoke this element's // * command. <code>null</code> may be returned if a binding cannot be found. // * // * @return the string keybinding for invoking this element's command, may be // * <code>null</code> // * @since 3.6 // */ // public String getBinding() { // BindingService service = (BindingService) PlatformUI.getWorkbench().getService( // IBindingService.class); // TriggerSequence[] triggerSeq = service.getBindingManager() // .getActiveBindingsDisregardingContextFor(command); // if (triggerSeq != null && triggerSeq.length > 0) { // return triggerSeq[0].format(); // } // return null; // } // // public int hashCode() { // final int prime = 31; // int result = 1; // result = prime * result + ((command == null) ? 0 : command.hashCode()); // return result; // } // // public boolean equals(Object obj) { // if (this == obj) // return true; // if (obj == null) // return false; // if (getClass() != obj.getClass()) // return false; // final CommandElement other = (CommandElement) obj; // if (command == null) { // if (other.command != null) // return false; // } else if (!command.equals(other.command)) // return false; // return true; // } //}